feat: replace wifi-commissioning-gatt-service with wifi-commissioning-service#639
Conversation
- Update RUSTVERSION, source checksum, and bootstrap snapshots (1.92.0) - Update LLVM from 20.1.1 to 21.1.8 - Rename recipe files from 1.87.0 to 1.93.0 - Fix target spec integer fields for Rust 1.93+ (oe.patch, oe_rust-target-config.patch) - Fix -fcanon-prefix-map GCC compatibility and llvm-tools install in rust_1.93.0.bb - Fix dead_code and unused_parens linter findings for aziot-identityd, aziot-edged, and iotedge packages Signed-off-by: Jan Zachmann <50990105+JanZachmann@users.noreply.github.com>
283663c to
61d4739
Compare
Replace wifi-commissioning-gatt-service with wifi-commissioning-service,
a complete rewrite that provides:
- Dual transport: BLE GATT + Unix Domain Socket with JSON-RPC 2.0
- Multi-socket container access for UID 10000 (omnect_device_service_client)
- Follows omnect patterns for user/group management
Changes:
- Add wifi-commissioning-service recipe infrastructure
- Main recipe with cargo dependencies
- Configuration .inc file with systemd unit installation
- tmpfiles.d for runtime directory creation
- BBClass for user/group management with pkg_postinst_ontarget
- Update bluez5 integration to reference new service name
- User/Group setup:
- wifi_commissioning: service user and primary group
- wifi_commissioning_client: socket access group
- omnect_device_service_client added to wifi_commissioning_client
at first boot to enable multi-socket container access
- Socket configuration:
- SocketGroup changed from wpa_supplicant to wifi_commissioning_client
to enable container access (UID 10000)
Signed-off-by: Jan Zachmann <50990105+JanZachmann@users.noreply.github.com>
8111127 to
68bcc53
Compare
recipes-omnect/wifi-commissioning-service/wifi-commissioning-service_0.1.0.bb
Outdated
Show resolved
Hide resolved
recipes-omnect/wifi-commissioning-service/wifi-commissioning-service.inc
Outdated
Show resolved
Hide resolved
mlilien
left a comment
There was a problem hiding this comment.
#639 (comment)
btw: your re-request was made without a prior push. so i can't resolve any of the issues.
recipes-omnect/wifi-commissioning-service/wifi-commissioning-service.inc
Outdated
Show resolved
Hide resolved
dynamic-layers/raspberrypi/recipes-connectivity/bluez5/bluez5_%.bbappend
Show resolved
Hide resolved
recipes-omnect/wifi-commissioning-service/wifi-commissioning-service.inc
Outdated
Show resolved
Hide resolved
mlilien
left a comment
There was a problem hiding this comment.
the desription mentions:
The service is included in the image when DISTRO_FEATURES contains wifi-commissioning.
Note: wifi and bluetooth are not added to DISTRO_FEATURES automatically and must be set explicitly.
seems we should at least only allow wifi-commissioning if wifi is set.
- Inline bbclass useradd logic into .inc, remove bbclass - Fix bluez5 bbappend: update stale template name to non-template unit - Add wpa_supplicant@wlan0 template instance override via sed - Conditionally strip bluetooth deps and inject --disable-ble - Reword README transport maturity (v0.1.0/early development) - Update SRCREV for upstream CLI and systemd unit changes Signed-off-by: Jan Zachmann <50990105+JanZachmann@users.noreply.github.com>
Signed-off-by: Jan Zachmann <50990105+JanZachmann@users.noreply.github.com>
I hope I got your comment correct. Added a build-time check in the recipe |
Update recipe and bluez5 bbappend for template-based service/socket units (wifi-commissioning-service@.service / @.socket). - Install @.service / @.socket template files - Enable wlan0 instance via symlinks in target.wants - Remove wpa_supplicant sed (upstream template has @%i dep) - Update bluez5 PartOf to instance name @wlan0 - Update SRCREV for upstream template conversion Signed-off-by: Jan Zachmann <50990105+JanZachmann@users.noreply.github.com>
JanZachmann
left a comment
There was a problem hiding this comment.
Added a python() guard in the .inc that calls bb.fatal() if wifi-commissioning is set without wifi in DISTRO_FEATURES. Build will fail early with a clear error message.
recipes-omnect/wifi-commissioning-service/wifi-commissioning-service.inc
Show resolved
Hide resolved
recipes-omnect/wifi-commissioning-service/wifi-commissioning-service.inc
Outdated
Show resolved
Hide resolved
recipes-omnect/wifi-commissioning-service/wifi-commissioning-service.inc
Outdated
Show resolved
Hide resolved
recipes-omnect/wifi-commissioning-service/wifi-commissioning-service.inc
Outdated
Show resolved
Hide resolved
recipes-omnect/wifi-commissioning-service/wifi-commissioning-service.inc
Outdated
Show resolved
Hide resolved
SocketGroup, SupplementaryGroups, and Requires=bluetooth are now hardcoded in the upstream unit files. Recipe only patches for bluetooth-absent builds. Signed-off-by: Jan Zachmann <50990105+JanZachmann@users.noreply.github.com>
Signed-off-by: Jan Zachmann <50990105+JanZachmann@users.noreply.github.com>
6ae2e5c to
7225443
Compare
Replace
wifi-commissioning-gatt-service(v0.4.4) withwifi-commissioning-service(v0.1.0), a complete rewrite providing dual transport: BLE GATT and an HTTP REST API over a Unix domain socket (via actix-web).Image inclusion
The service is included in the image when
DISTRO_FEATUREScontainswifi-commissioning.Note:
wifiandbluetoothare not added toDISTRO_FEATURESautomatically and must be set explicitly.BLE GATT transport
BLE GATT is enabled only when
DISTRO_FEATUREScontainsbluetooth.When
bluetoothis absent, the service is started with--no-enable-bleandbluez5is not pulled in as a runtime dependency.Permission concept
wifi_commissioning(no home, no login shell), primary groupwifi_commissioningSupplementaryGroups=wpa_supplicantis injected into the service unit so the service can access the wpa_supplicant control socket at/var/run/wpa_supplicant/<iface>omnect_device_service_client(GID 10000), allowing containers that run with UID 10000 as their primary group to access the REST API socket without additional group membership changesChanges
wifi-commissioning-gatt-servicerecipe (_0.4.4.bb+.inc)wifi-commissioning-servicerecipe (_0.1.0.bb+.inc) with:--locked --features systemdbluez5 (>=5.60)runtime dependency based onbluetoothDISTRO_FEATURE.serviceand.socketunits installed and enabledclasses/wifi-commissioning-service.bbclassforwifi_commissioninguser/group creation viauseraddbluez5_%.bbappendto reference new service unit nameomnect-os-image.bbpackage referenceREADME.md